Fork me on GitHub

Zabbix 3.0 部署监控 [二]

一、添加监控主机及设置

1. 创建主机

Agent 可以干一些 SNMP 无法干的事情,例如自定义监控项
snmp 相关文章:http://www.abcdocker.com/abcdocker/1376

这里我们先不着急点add,还需要设置其他选项

点击监控模板

  zabbix 监控是由 监控项 组成(cpu使用率监控就是一个 监控项 / 内存使用率 就是一个监控项),如果是 100 台服务器就需要监控 模板 了。只需要将监控项和模板 关联 起来即可
举个例子:我们上面主机使用的是 SNMP,就可以直接搜索SNMP。提示:有的模板需要自己定义

温馨提示:请点击下面的小add 然后在点大的。否则会出现问题哦

IPMI如果有的话,需要在这里写上 用户名 密码

宏定义,这个宏其实就是一个变量。我们给可以给变量附一个值

  因为我们设置的是 SNMPSNMP 有一个团体名。并且可以设置定义
  团体名是中间的abcdocker,具体的可以看http://www.abcdocker.com/abcdocker/1376

[root@localhost ~]# cat /etc/snmp/snmpd.conf
rocommunity abcdocker 192.168.56.11

值:{$SNMP_COMMUNITY}

主机资产设置分为 3 中
1、关闭 Disabled
2、手动 Manual
3、自动 Automatic (自动代表的是你在定义监控项的时候,他有一个小箭头,勾上之后监控项的值就会填写在这里)
   我们这设置好模板就可以选择add

SNMP 变绿就好了

  现在的状态是用 SNMP 进行监控了,我们只是添加了一个 SNMP OS LINUX 的模板,但是出现了 4 个。这 4 个链接。可以和多个 模板 连起来用

进入监控项,下面这个菜单是过滤搜索用的

下面全都是模板
  我们可以随便点击一个,这里我们新建一个监控项

点击创建

类型选择

  Zabbix agent 被动

  Zabbix agent (active 主动模式)

  Simple check 简单检测

  SNMPv1 agent ……

在 Key 这行点击 Select 可以进行选择

我们随便选择一个,例如 agent.version。查看 agent 的版本
Numeric 是无符号整数型

2. 图形说明

Configuration----hosts----Graphs

绘图靠的是 监控项,我们可以随便打开一个看看

颜色等都是可以随意设置

3、聚合图形 screens 设置

提示 :因为咱们用的版本是 3.0 当 2.4 的时候需要在Configuration---- 下面来创建screens

创建 Screens

我们创建一个 2*2 命名为test screensscreens

然后我们点进去
点击 编辑

点击 Change 进行设置

多添加几个之后就是以下结果

二、监控案例 [自定义监控项]

例如 :我们自己添加一个监控项来进行监控当前的活动连接数
nginx 安装地址:http://www.abcdocker.com/abcdocker/1376
Nginx 状态模块配置如下,过于简单不说了

[root@localhost ~]# cat /usr/local/nginx/conf/nginx.conf
listen   8080;
location /status {
stub_status on;
access_log off;
allow 192.168.56.0/24;
deny all;
}

修改 nginx 端口并重启
测试:http://192.168.56.11:8080/status

解释说明:使用 zabbix 来监控活动连接数,通过 status 状态模块为前提 , 我们现在命令取出我们想要的值,例如:

[root@localhost ~]# curl -s http://192.168.56.11:8080/status|grep Active|awk -F "[]" '{print $3}'
1

因为我们是监控他的活动连接数,他的活动连接数为1

[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf 
Include=/etc/zabbix/zabbix_agentd.d/

提示: 如果想要加自定义监控项,不要在配置文件中写入,可以在 Include 里面定义的目录写上 , 只要我们写在 Include 目录下,都可以识别到

[root@linux-node1 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@linux-node1 zabbix_agentd.d]# ls
userparameter_mysql.conf
#默认有一个 MySQL 的,我们可以参考 MySQL 的进行操作
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
#提示,前面是 key 的名称 后面的 key 的命令
UserParameter=mysql.version,mysql -V

我们自己编辑一个文件

[root@linux-node1 zabbix_agentd.d]# cat nginx.conf
UserParameter=nginx.active,/usr/bin/curl -s http://192.168.56.11:8080/status|grep Active|awk -F "[]" '{print $3}'
提示,此处配置文件的名字可以随便起

  如果是多个命令可以写一个 脚本 ,命令最好写 绝对路径 !这个过程其实就是我们定义监控的过程,前面是key 的名字,后面是命令
修改完配置文件之后需要重启zabbix-agent

[root@linux-node1 zabbix_agentd.d]# systemctl restart zabbix-agent

  配置完成之后先在 server 端测试,是否可以获取到 agent 上的值。不要着急添加 , 我们现在只用了 1 台服务器,本机是 server 也是 agent。然后使用 zabbix-get 进行 测试

[root@linux-node1 zabbix_agentd.d]# yum list|grep zabbix
zabbix-agent.x86_64 3.0.4-1.el7@zabbix  
zabbix-release.noarch   3.0-1.el7  installed
zabbix-server-mysql.x86_64  3.0.4-1.el7@zabbix  
zabbix-web.noarch   3.0.4-1.el7@zabbix  
zabbix-web-mysql.noarch 3.0.4-1.el7@zabbix  
python-pyzabbix.noarch  0.7.3-2.el7epel 
uwsgi-stats-pusher-zabbix.x86_642.0.13.1-2.el7 epel 
zabbix-get.x86_64   3.0.4-1.el7zabbix 
查看 zabbix_get
[root@linux-node1 zabbix_agentd.d]# yum install -y zabbix-get

zabbix-get使用参数如下:

[root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
-s 指定我们要查看的服务器
-p 端口,可以不加。默认是 10050
-k 监控项的名称(根据上面的配置来定义的)
更多参数:zabbix_get --help

错误案例:

如果出现如下错误,大致意思是拒绝连接

[root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
zabbix_get [24234]: Check access restrictions in Zabbix agent configuration

解决方法:

[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf 
Server= 192.168.56.11

因为我们当时只允许本机 127.0.0.1 进行连接。所以会出现这样问题

[root@linux-node1 ~]# systemctl restart zabbix-agent

修改完配置文件都要 重启
提示: zabbix-agent 的配置文件中指定允许那个 server 连接,那个才可以进行连接。

[root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active"
1

正确结果如上!
提示:如果在 zabbix-agent 上面修改了,还需要在网页上进行修改

/etc/zabbix/zabbix-agent.conf 上面指定的 Server 是谁,就只会允许谁通过。如果有多个 ip 可以使用逗号进行分割

添加 item

找到一个安装zabbix-agent,点击

点击items

然后添加Create item(创建 item)

Data type:数据类型,这里我们选择 Decimal。其他的基本上用不上

Units:单位 超过 1 千就写成 1k 了。 可以在这里做一个单位的设置。默认就可以

Use custom multiplier:如果这里面设置了一个数,得出来的结果都需要乘以文本框设定的值

Update interval(in sec):监控项刷新时间间隔(一般不要低于 60 秒)

Custom intervals:创建时间间隔(例如:1 点 -7 点每隔多少秒进行监控)格式大致为:周,时,分

History storage period: 历史数据存储时间(根据业务来设置,默认就可以)

Trend storage period: 趋势图要保存多久

New application: 监控项的组

application: 选择一个监控项组

Populates host inventory field: 资产,可以设定一个监控项。把获取的值设置在资产上面

描述!必须要写。 要不你就是不负责任

添加自定义监控项小结:

   1、添加用户自定义参数(在 /etc/zabbix/zabbix.agent.d/ 定义了一个 nginx.conf 步骤如上)

   2、重启zabbix-agent

   3、在 Server 端使用 zabbix_get 测试 获取(命令如上)

   4、在 web 界面创建item(监控项)

  

自定义图形

Name:名字

Width:宽度

Height:高度

Graph type:图形类型

其他 默认 即可

然后我们点击 Add 添加 Items 监控项,找到我们刚刚设置的服务器

然后找到我们刚刚添加的 监控项

还可以选择颜色,添加其他的很多设置。不细说

  点击 Prewview 可以进行预览,如果出现字符乱码可以阅读我们另一篇文章(zabbix 默认不支持中文), 确定没有问题,选择下方 Add 即可

出现我们添加的

需要在 Monitoring--->Graphs---> 选择我们添加的主机即可
接下来我们需要进行 测试
测试前:

使用 ab 测试工具进行测试,设置 100 万 并发进行访问

[root@linux-node1 ~]# ab -c 1000 -n 1000000 http://192.168.56.11:8080/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.56.11 (be patient)

测试后:

我们可以查看 zabbix 监控图标

我们中间设置了间隔 60 秒,说明每隔 60 秒 我们进行获取一次, 我们可以设置它的方式显示
找到 Graph 选择类型,Stacked是堆叠显示,其他的大家可以自行百度。不细说
堆叠显示如下:

如果我们想加多个图形都显示在一张图上,可以进行如下操作

找到Graphs

找到我们设置的图形

点击添加即可

我们可以让多个图标显示在一个图片上

点击我们创建一个聚合图形(screens

点击进去

点击编辑

选择 item 添加的地方,因为上面创建聚合图形的时候我们选择了 2X2 所以这里会显示 2 个

找到相对应的添加即可
我们可以多添加几个

结果如上图显示
除了显示图片还可以显示其他内容

Action log:日志
Clock:时间
Data overview:数据概述
Graph:图形
History of events:历史事件
Host group issues:主机组问题
Host issues:主机问题
Hosts info:主机信息
Plain text:文本
Map:架构图
Screen:屏幕
Server info:服务器信息
Simple graph:简单的图
Simple graph prototype:简单的原型图
System status:系统状态
Triggers info:触发器信息
Tiggers overview:概述
URL:URL 地址

例如我们输入一个 URL:


我们还可以自定义一个Maps,一张架构图。操作如下:

第二步:选择编辑Edit map

因为他默认图片比较小,我们可以点击下方,进行调整图片大小。

点击右上角 编辑,然后我们点中图中的服务器即可

我们模拟有 2 台服务器

然后我们选中新添加的服务器进行修改

点击 Apply 就可以了。
按住 Ctrl 点中 zabbix server 和另一台服务器

然后我们点击左上方的Link:他们就连接起来了

温馨提示:修改完成后需要点击保存 [update] 如果不点后果就是从新在做一遍~

未完!

转载自:Zabbix 3.0 部署监控 [二] | abcdocker 运维博客

赞赏是最好的支持与鼓励!
-------------本文结束感谢您的阅读-------------